package com.youlu.campus.domain.service;

import com.youlu.campus.domain.entity.PlatformDomainConfig;
import com.youlu.campus.domain.entity.PlatformDomainConfigPageQuery;
import org.springframework.data.domain.Page;
import org.springframework.stereotype.Service;

/**
 * 域名配置服务层
 *
 * @Description: DomainConfigService
 * @Date 2025/10/21
 * @module DomainConfig
 * @author: su
 */
public interface PlatformDomainConfigService {


    /**
     * 创建域名配置
     *
     * @param domainConfig 域名配置
     * @return 保存后的配置
     */
    public PlatformDomainConfig save(PlatformDomainConfig domainConfig);


    /**
     * 根据ID查询域名配置
     *
     * @param id 配置ID
     * @return 域名配置
     */
    public PlatformDomainConfig findById(String id);

    /**
     * 根据域名查询配置
     *
     * @param domain 域名
     * @return 域名配置
     */
    public PlatformDomainConfig findByDomain(String domain);


    /**
     * 分页查询域名配置
     *
     * @param query 分页参数
     * @return 分页结果
     */
    public Page<PlatformDomainConfig> findByPage(PlatformDomainConfigPageQuery query);


    /**
     * 删除域名配置
     *
     * @param id 配置ID
     */
    public void delete(String id);

    /**
     * 检查域名是否存在
     *
     * @param domain 域名
     * @return 是否存在
     */
    public boolean isDomainExists(String domain);
}